Typical graphics processors are equipped various “shaders” for determining surface properties of different graphics data. For example, vertex shaders are typically provided for determining the surface properties of a vertex. Still yet, pixel shaders are traditionally included downstream with respect to the vertex shaders as well as others) for determining the surface properties of a pixel or portion thereof (e.g. fragment, etc.).
Traditionally, the shaders upstream from the pixel shader are capable of outputting more graphics attributes than the pixel shader is capable of using. To this end, the amount of graphics attributes that are typically sent to pixel shaders, from upstream shaders, is often excessive and results in the transmission, storage, etc. of unused graphics data. Unfortunately, this, in turn, results in less than optimal storage use, an increase in unnecessary computation, overly complex hardware logic at the pixel shader, etc.
There is thus a need for overcoming these and/or other problems associated with the prior art.